d64c76fe105c9fa20fed733f8ffbbefdf1e8b8a0,src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java,AssignmentManager,processServerShutdown,#ServerName#,1992

Before Change


      for (Iterator <Map.Entry<String, RegionPlan>> i =
          this.regionPlans.entrySet().iterator(); i.hasNext();) {
        Map.Entry<String, RegionPlan> e = i.next();
        if (e.getValue().getDestination().equals(sn)) {
          // Use iterator's remove else we'll get CME
          i.remove();
        }

After Change


      for (Iterator <Map.Entry<String, RegionPlan>> i =
          this.regionPlans.entrySet().iterator(); i.hasNext();) {
        Map.Entry<String, RegionPlan> e = i.next();
        ServerName otherSn = e.getValue().getDestination();
        // The name will be null if the region is planned for a random assign.
        if (otherSn != null && otherSn.equals(sn)) {
          // Use iterator's remove else we'll get CME
          i.remove();
        }